﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using Sistema_Totem.Logica.Clases;

namespace Sistema_Totem.Datos.SqlServer
{
    public class Proyecto
    {
        public class SqlServerProyecto
        {
            #region Agregar Proyecto

            public bool AgregarProyecto(Proyecto cliente)
            {
                Conexion bd = new Conexion();
                SqlCommand command = new SqlCommand();
                try
                {
                    bd.AbrirConexionBd();
                    command.Connection = bd.ObjetoConexion();
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    command.CommandText = "[dbo].[insertarProyecto]";
                    command.CommandTimeout = 10;

                    command.Parameters.AddWithValue("@DirCli", cliente.Direccion);
                    command.Parameters.AddWithValue("@NombreCli", cliente.Nombre);
                    command.Parameters.AddWithValue("@TelefonoCli", cliente.Telefono);
                    command.Parameters.AddWithValue("@CorreoCli", cliente.Correo);
                    command.Parameters.AddWithValue("@RifCli", cliente.Rif);
                    command.Parameters.AddWithValue("@LogoCli", cliente.Logo);
                    SqlDataReader readers = command.ExecuteReader();

                    readers.Close();
                    bd.CerrarConexionBd();
                    return true;
                }
                catch (SqlException e)
                {
                    throw e;
                    bd.CerrarConexionBd();
                    return false;
                }
                catch (Exception)
                {
                    bd.CerrarConexionBd();
                    return false;
                }

            }

            #endregion Agregar Proyecto

            #region Consultar Proyecto
            public List<Cliente> ConsultarClientes()
            {
                //Se instancia un objeto conexion 
                Conexion miConexion = new Conexion();
                SqlCommand command = new SqlCommand();
                SqlDataReader reader = null;
                List<Cliente> miListaCliente = new List<Cliente>();

                try
                {
                    //Se abre la conexion a la base de datos
                    miConexion.AbrirConexionBd();
                    command.Connection = miConexion.ObjetoConexion();
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    command.CommandText = "[dbo].[consultarListaClientes]";
                    command.CommandTimeout = 10;

                    //se ejecuta el metodo del store procedure que busca todos los clientes del sistema
                    reader = command.ExecuteReader();

                    //Se recorre cada row
                    while (reader.Read())
                    {
                        Cliente miCliente = new Cliente();
                        //Se asigna cada atributo al objeto cliente
                        miCliente.Rif = reader.GetString(0);
                        miCliente.Nombre = reader.GetString(1);
                        //se inserta el cliente en la lista de clientes
                        miListaCliente.Add(miCliente);
                    }

                    return miListaCliente;
                }
                catch (SqlException)
                {
                    return miListaCliente;//cambiar luego es una prueba
                }
                finally
                {
                    miConexion.CerrarConexionBd();
                }

            }
            #endregion Consultar Proyecto

            #region Modificar Proyecto
            #endregion Modificar Proyecto



        }
    }
}
